/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication2;

/**
 *
 * @author Leonardo
 */
import java.util.ArrayList;
class Processo implements Runnable
{
	public static int nextProcessID = 0;
	public Processo(int tempoNecessario, ArrayList<Integer> sequenciaAcessos)
	{
		id = Processo.nextProcessID++;
		this.tempoNecessario = tempoNecessario;
		this.sequenciaAcessos = sequenciaAcessos;
	}

	private int id;
	private TabelaDePagina tabela = new TabelaDePagina();
	private ArrayList<Integer> sequenciaAcessos = new ArrayList<Integer>();
	private int tempoNecessario;	
	private int tempoUsado = 0;	

	public int getId()
	{
		return id;		
	}

	public TabelaDePagina getTabelaDePagina()
	{
		return tabela;
	}

	public ArrayList<Integer> getSequenciaAcessos()
	{
		return sequenciaAcessos;
	}

	public int getTempoNecessario()
	{
		return tempoNecessario;
	}
	
	public int getTempoUsado()
	{
		return tempoUsado;
	}
	
	public void addTempoUsado(int val)
	{
		tempoUsado += val;
	}
        
        private Thread acaoProcesso = new Thread(this);
        public synchronized Thread getThread()
        {
            return this.acaoProcesso;
        }
        
        public boolean IsFinalizado()
        {
            return this.tempoNecessario <= this.tempoUsado;
        }
        
        @Override
        public void run()
        {
            while(true)
            {
                //System.out.println("Executando " + this.id);
            }
        }
}